package com.ytjj.qmyx.mall.service;

import com.ytjj.common.api.CommonPage;
import com.ytjj.qmyx.mall.model.dto.ProductSubjectPlateDto;
import com.ytjj.qmyx.mall.model.dto.SubjectPlateDto;
import com.ytjj.qmyx.mall.model.dto.SubjectPlateProductDto;
import com.ytjj.qmyx.mall.model.dto.SubjectsDto;

import java.util.List;

/**
 *
 * 
 * @description:专题相关的业务
 */
public interface SubjectsService {


    /**
    * 根据id获取专题
    * @param id:
    * 
    */
    SubjectsDto getSubjectsById(Integer id);

    /**
    * 获得专题下的板块
    * @param id:
    * @returns: java.util.List<com.ytjj.qmyx.mall.model.SubjectPlate>
    * 
    */
    List<SubjectPlateDto> getPlateBySubjectId(Integer id);


    /**
    * 分页获得板块下的商品
    * @param plateId:
    * @returns: java.util.List<com.ytjj.qmyx.mall.model.ProductSubjectPlate>
    * 
    */
    CommonPage<ProductSubjectPlateDto> getProductByPlateId(Integer plateId,Integer pageNum,Integer pageSize);

    /**
    * 获取专题下的活动商品
    * @param subjectId:
    * @param activeType:
    * @returns: com.ytjj.common.api.CommonPage<com.ytjj.qmyx.mall.model.dto.ProductSubjectPlateDto>
    * 
    */
    List<ProductSubjectPlateDto> getProductBySubjectId(Integer subjectId, String activeType);

    /**
     * 根据板块id获取商品 - 新人专享活动使用
     * @param plateId
     * @param pageNum
     * @param pageSize
     * @return
     */
    CommonPage<ProductSubjectPlateDto> newGetProductByPlateId(Integer plateId,Integer pageNum,Integer pageSize);

    /**
     * 获取专题 - 新人专享活动使用
     * @param id
     * @return
     */
    SubjectsDto newGetSubjectsById(Integer id);

    CommonPage<SubjectPlateProductDto> getSubjectProducts(Integer id, Integer pageNum, Integer pageSize);
}
